const express = require('express')
const router = express.Router()
const multer = require('multer')

var storage = multer.diskStorage({
    //设置文件路径
    destination: function (req, file, cb) {
        cb(null, './uploads')
    },
    //给.上传文件重命名，获取添加后缀名
    filename: function (req, file, cb) {
        var fileFormat = (file.originalname).split(".");
        //给图片加上时间戳格式防止重名名，指定文件名
        //比如把abc. jpg图片切割为数组[abc , jpg] ,然后用数组长度-1来获取后缀名
        cb(null, file.fieldname + '-' + Date.now() + "." + fileFormat[fileFormat.length - 1]);
    }
});

const maxImageSize = 500 * 1024; //500K
var upload = multer({
    storage: storage,
    limits: {
        fileSize: maxImageSize // 
    },
});

router.post('/uploads', upload.single('file'), (req, res) => {
    try {
        //想要处理错误需要在全局处理，在这里无效。
        let { filename } = req.file

        res.json({
            status: 200,
            message: '上传成功',
            data: {
                url: `${filename}`,
                alt: ''
            }
        })
    } catch (error) {
        // 在这里处理错误
        console.error(error.message);
        res.status(400).json({ code: 400, message: error.message });
    }
})

module.exports = router